home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / ARMLINUX / MAIL / 9804 / 000061_linux@arm.uk.linux.org _Fri Apr 17 12:23:52 1998.msg < prev    next >
Internet Message Format  |  1998-05-13  |  3KB

  1. Return-Path: <linux@arm.uk.linux.org>
  2. Received: from snowcrash.cymru.net (snowcrash.cymru.net [163.164.160.3])
  3.     by odie.barnet.ac.uk (8.8.6/8.8.6) with ESMTP id MAA24910
  4.     for <willy@odie.barnet.ac.uk>; Fri, 17 Apr 1998 12:23:50 +0100
  5. Received: from caramon.armlinux.org (dialup2.cymru.net [163.164.160.66]) by snowcrash.cymru.net (8.8.7/8.7.1) with ESMTP id MAA30224; Fri, 17 Apr 1998 12:24:44 +0100
  6. Received: from raistlin.armlinux.org (raistlin [192.168.0.3]) by caramon.armlinux.org (8.7.4/8.7.3) with ESMTP id LAA21606; Fri, 17 Apr 1998 11:10:17 +0100
  7. From: Russell King - ARM Linux Admin <linux@arm.uk.linux.org>
  8. Received: (from linux@localhost) by raistlin.armlinux.org (8.7.4/8.7.3) id KAA00561; Fri, 17 Apr 1998 10:54:26 +0100
  9. Message-Id: <199804170954.KAA00561@raistlin.armlinux.org>
  10. Subject: Re: memfastset.S
  11. To: willy@odie.barnet.ac.uk (Matthew Wilcox)
  12. Date: Fri, 17 Apr 1998 10:54:25 +0100 (BST)
  13. Cc: linux-arm@vger.rutgers.edu
  14. In-Reply-To: <199804170653.HAA23693@odie.barnet.ac.uk> from "Matthew Wilcox" at Apr 17, 98 07:53:16 am
  15. X-Mailer: ELM [version 2.4 PL24]
  16. MIME-Version: 1.0
  17. Content-Type: text/plain; charset=US-ASCII
  18. Content-Transfer-Encoding: 7bit
  19. Status: RO
  20.  
  21. Matthew Wilcox writes:
  22. > @ -8 & -16 are already done.  If it's non-zero, then it wasn't -8, if
  23. > @ it's -16, it won't be taken above 0.
  24. >         addnes    r2, r2, #6
  25.                 ^^^ is this correct?
  26. >         strgt    r1, [r0]
  27. >         LOADREGS(fd, sp, {pc})
  28.             was  ^^^ sp!, {pc}) is what you meant here?
  29.  
  30. Surely you can make this optimisation as well:
  31.  
  32. > @ at this point, we are up to 28 bytes away from the end of the buffer,
  33. > @ r2 is n-32 bytes, ie {-4, -8, ..., -28}; *OR* we've finished and r2
  34. > @ contains -32
  35. > Lmod_16:
  36. >         cmn    r2, #16
  37. >         stmgeia    r0!, {r1, r3, ip, lr}
  38. >         addlt    r2, r2, #16
  39. > @ now we are up to 12 bytes from end of buffer; r2 can be {-4, -8, -12, -16}
  40. >         cmn    r2, #16
  41. >         LOADREGS(eqfd, sp!, {pc})
  42. > @ now we are up to 12 bytes from end of buffer; r2 can be {-4, -8, -12}
  43. > Lmod_4:
  44. >         adds    r2, r2, #8
  45. >         stmgeia    r0!, {r1, lr}
  46. >         strne    r1, [r0]
  47. >         LOADREGS(fd, sp!, {pc}}
  48.             was  ^^^ sp!, {pc}) is what you meant here?
  49.    _____
  50.   |_____| ------------------------------------------------- ---+---+-
  51.   |   |        Russell King       linux@arm.uk.linux.org      --- ---
  52.   | | | |  http://www.arm.uk.linux.org/~rmk/armlinux.html    /  /  |
  53.   | +-+-+                                                     --- -+-
  54.   /   |               THE developer of ARM Linux              |+| /|\
  55.  /  | | |                                                     ---  |
  56.     +-+-+ -------------------------------------------------  /\\\  |